#include "administrators.h"
#include "ui_administrators.h"
#include "manager.h"
//管理员登录界面
#include "mainwindow.h"
//extern  mycamera * all_cam;//全局摄像头指针
#include "zhuce2.h"
#include <QDebug>
#include <QMessageBox>
extern  bool  is_memcpy;//继承主Main的

administrators::administrators(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::administrators)
{
    ui->setupUi(this);
    //键管理员表

    //解决 数据库多次报错问题
    if (!QSqlDatabase::contains("test-connect"))
        mybase1= QSqlDatabase::addDatabase("QSQLITE","test-connect");  //第一次打开数据库时，连接数据库。
    else
        mybase1= QSqlDatabase::database("test-connect");   //数据库已经打开后，再次连接时，获取句柄。


    //    //设置数据库的路径名
        mybase1.setDatabaseName("./1.db");
    //打开数据库
    bool ret=mybase1.open();
    if(!ret)
    {
        qDebug()<<"打开数据库失败了!./1.db no open";
        return;
    }

    //在数据库中新建卡号 和 车牌号  进入时间  刷次数                   卡号     和  车牌号        进入时间    刷次数  车位 carbot
    QSqlQuery query(mybase1);
    //执行新建表格语句    表的名字   manager
   // ret=query.exec("create table if not exists manager(name text,price float);");

   ret=query.exec("create table if not exists  manager (name  text,password text );");
    if(!ret)
    {
        qDebug()<<"新建表格失败的原因: "<<query.lastError().text();
        return;
    }
    //**************************

    //先插入一个登录账号
    //拼接得到完整的插入语句
    QString name1="123";
    QString password1="123";
    QString cmd=QString("insert into manager values ('%1','%2');").arg(name1).arg(password1);

    //执行插入语句
//    QSqlQuery query(mybase1);
    ret=query.exec(cmd);
    if(!ret)
    {
        qDebug()<<"插入失败的原因: "<<query.lastError().text();
        return;
    }
}

administrators::~administrators()
{
    delete ui;
}

//退出键
void administrators::on_pushButton_clicked()
{
    QWidget *last =this->parentWidget();
    //all_cam->camera_init();//摄像头重新打开  有段错误
    is_memcpy=true;//决定开发板映射摄像头的图片数据
    last->show();
    this->close();

}


//登录键
void administrators::on_pushButton_2_clicked()
{
    QString name=ui->name->text();
    QString password=ui->passworld->text();
//    if(name=="123"&&password=="123")
//    {
//        manager * ma=new manager(this);
//        ma->show();
//        this->hide();
//    }
   //先查表
    //**************
    bool  ok=false;
    //执行查询语句
    int i=0;
    QSqlQuery query(mybase1);
    bool ret=query.exec("select * from manager;");
    if(!ret)
    {
        qDebug()<<"查询失败的原因: "<<query.lastError().text();
        return;
    }

    //循环遍历查询结果
    qDebug()<<"查询结果如下: ";
    while(query.next())
    {
       //qDebug()<<"商品名称: "<<query.value(0).toString();
       //qDebug()<<"商品价格: "<<query.value(1).toFloat();

       //qDebug()<<"商品名称: "<<query.value("name").toString();
       //qDebug()<<"商品价格: "<<query.value("price").toFloat();

       //在表格列表框中显示查询结果
        QString q1=query.value(0).toString();
        QString q2=query.value(1).toString();
        qDebug()<<"name"<<q1;
        qDebug()<<"password"<<q2;
        if(q1==name&&q2==password)
        {
            ok=true;
        }

        i++;

    }
    //*****************
    if(ok)
    {
    manager * ma=new manager(this);
    ma->show();
    this->hide();
    }
    else
    {
        qDebug()<<"密码错误，登录失败";
        QMessageBox::warning(this,"错误","账号或者密码输入错误");
    }
}


//账号消失一位
void administrators::on_pushButton_11_clicked()
{
    QString name =ui->name->text();
    name.chop(1);//删除末尾1个字符
    ui->name->setText(name);
}

//密码消失一位
void administrators::on_pushButton_12_clicked()
{
    QString password=ui->passworld->text();
    password.chop(1);
    ui->passworld->setText(password);
}

//注册
void administrators::on_pushButton_3_clicked()
{
    zhuce2   * z1=new  zhuce2(this);
    z1->show();
    this->hide();
}
